Перейти к основному содержимому

Чек-лист самопроверки

Разработчику Архитектору Инженеру

Чек-лист самопроверки

  1. Объясните, что такое адрес в памяти и как он используется процессором.
  2. Опишите разницу между физическим и виртуальным адресом.
  3. Укажите, как Memory Management Unit (MMU) преобразует виртуальный адрес в физический.
  4. Перечислите компоненты, на которые разделяется физический адрес при обращении к DRAM.
  5. Объясните, почему минимальной адресуемой единицей в современных системах является байт.
  6. Опишите, как ширина адресной шины влияет на объём адресуемой памяти.
  7. Сравните сегментную и страничную модели адресации.
  8. Объясните, как работает механизм выравнивания данных и зачем он нужен.
  9. Опишите роль контроллера памяти в управлении доступом к RAM.
  10. Объясните, как кэш-память ускоряет доступ к данным и какие уровни кэша существуют.
  11. Укажите, из каких полей состоит адрес при обращении к многоуровневому кэшу.
  12. Объясните, что такое пространственная и временная локальность и как они влияют на производительность.
  13. Опишите, как работают указатели в языках низкого уровня и какие риски они несут.
  14. Объясните, как обеспечивается согласованность кэшей в многоядерных системах.
  15. Перечислите механизмы безопасности, основанные на адресном пространстве (ASLR, NX bit и др.).
  16. Определите, что такое бит, и опишите его физические реализации.
  17. Объясните, чем P-бит отличается от классического бита и где он применяется.
  18. Опишите принцип квантовой суперпозиции и как он реализуется в кубите.
  19. Укажите, почему кубиты требуют особых условий для работы.
  20. Объясните, что такое машинное слово и как его размер связан с архитектурой процессора.
  21. Различайте явное и неявное преобразование типов данных.
  22. Опишите, какие ошибки могут возникнуть при преобразовании строки в число.
  23. Объясните, что такое парсинг и приведите пример его применения.
  24. Перечислите основные арифметические, побитовые и математические операции над числами.
  25. Объясните, как работают операторы инкремента и декремента в циклах.
  26. Опишите, как генерируются псевдослучайные числа и где они используются.
  27. Различайте подстроку, подпоследовательность и подмножество символов.
  28. Объясните, как работает конкатенация строк и какие подводные камни она может иметь.
  29. Опишите операции поиска, замены, разделения и склейки строк.
  30. Объясните, зачем выполняется обрезка пробелов при обработке пользовательского ввода.
  31. Перечислите основные предикаты для проверки строк (startWith, isEmpty и др.).
  32. Опишите три способа форматирования строк: позиционное, именованное, интерполяция.
  33. Объясните, что такое поток данных и как он отличается от обычного файла.
  34. Опишите, как буферизация повышает эффективность чтения и записи.
  35. Объясните, зачем используется кодирование Base64 и как оно работает.
  36. Опишите разницу между сжатием с потерями и без потерь на примере медиаформатов.
  37. Объясните, как работает хеширование и где оно применяется.
  38. Опишите разницу между поверхностным и глубоким копированием объектов.
  39. Объясните, как выполняется сравнение объектов по ссылке и по значению.
  40. Опишите, как итерация работает для массивов, словарей и объектов.
  41. Объясните, как сериализация и десериализация используются при передаче объектов.
  42. Опишите, как выполняется валидация схемы объекта.
  43. Объясните, как представляется дата и время в программных системах.
  44. Опишите, как учитываются часовые пояса и переходы на летнее время.
  45. Объясните, почему вычисление разницы между датами в месяцах может быть неточным.
  46. Опишите, как работает форматирование и парсинг дат в разных локалях.
  47. Объясните, что такое маршалинг и чем он отличается от сериализации.
  48. Опишите, почему маршалинг необходим при межпроцессном взаимодействии.
  49. Перечислите преимущества и недостатки текстовых (JSON/XML) и двоичных (protobuf) форматов.
  50. Объясните, как решаются проблемы циклических ссылок при маршалинге графов объектов.

Освоение главы0%